package stream;

import java.util.ArrayList;
import java.util.List;

/**
 * @author zxc
 * @date 2023/04/09 21:48
 **/
public class StreamDemo {
    public static void main(String[] args) {
        // 1.创建List集合
        List<String> stringCollection = new ArrayList<>();
        stringCollection.add("ddd2");
        stringCollection.add("aaa2");
        stringCollection.add("bbb1");
        stringCollection.add("aaa12");
        stringCollection.add("bbb3");
        stringCollection.add("ccc");
        stringCollection.add("bbb2");
        stringCollection.add("ddd1");

        stringCollection.stream()
                // Filter，过滤首字母为'a'的字符串;
                // filter,添加多个过滤条件;
                // 传入 实现Predicate接口的对象/lambda表达式，就可以自定义过滤规则;
                .filter(s -> s.startsWith("a"))

                // sorted ：即，对于该list集合对象进行排序
                // 传入 实现Comparator接口的对象/lambda表达式，就可以自定义排序规则;
                .sorted((p1 , p2) -> p1.length() - p2.length())

                .map(String::toUpperCase)

                // foreach，对于list集合中所有元素进行遍历;
                .forEach(System.out::println);

    }
}
